home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / pasprog.EXE / KEYMAPD.PAS < prev    next >
Pascal/Delphi Source File  |  1995-04-03  |  1KB  |  45 lines

  1.  
  2.  uses crt,dos;
  3.  
  4.  var
  5.   klavye                : array[0..127] of boolean;
  6.   olay                  : boolean;
  7.  
  8.  procedure yeni_kesme;interrupt;
  9.  var
  10.   bilgi                 : byte;
  11.   eski_durum            : boolean;
  12.  begin
  13.  bilgi:=port[$60];
  14.  eski_durum:=klavye[bilgi and 127];
  15.  klavye[bilgi and 127]:=not(boolean((bilgi and 128)=128));
  16.  if eski_durum<>klavye[bilgi and 127] then olay:=true;
  17.  port[$20]:=$20;
  18.  end;
  19.  
  20.  var
  21.   eski_kesme            : pointer;
  22.   ekran                 : array[0..24,0..79] of word absolute $b800:0;
  23.   n                     : byte;
  24.  
  25.  begin
  26.  clrscr;
  27.  gotoxy(1,20);
  28.  write(' Programdan çìkmak için *Esc* tuƒuna basìn');
  29.  olay:=true;
  30.  for n:=0 to 127 do klavye[n]:=false;
  31.  getintvec(9,eski_kesme);
  32.  setintvec(9,@yeni_kesme);
  33.   repeat
  34.   if olay=true then
  35.    begin
  36.    olay:=false;
  37.    for n:=0 to 127 do
  38.     if klavye[n]=true
  39.      then ekran[(n div 16)*2,(n mod 16)*4]:=ord('▄')+(7*256)
  40.      else ekran[(n div 16)*2,(n mod 16)*4]:=ord('▒')+(7*256);
  41.    end;
  42.   until klavye[1]=true; {esc}
  43.  setintvec(9,eski_kesme);
  44.  end.
  45.